package br.com.sap.visao;

import java.sql.Date;

import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zkplus.databind.AnnotateDataBinder;
import org.zkoss.zul.Textbox;

import br.com.sap.controle.UsuarioControle;
import br.com.sap.modelo.Usuario;

@SuppressWarnings({ "rawtypes", "serial" })
public abstract class SuperComposer extends GenericForwardComposer {

	protected Component comp;
	public AnnotateDataBinder binder;
	protected Usuario usuarioSessao;
	protected Date dataSessao;
	protected UsuarioControle usuarioControle;
	protected Textbox txtNivelAcesso;
	protected String menuUsuario;

	@SuppressWarnings("unchecked")
	@Override
	public void doAfterCompose(Component comp) throws Exception {
			super.doAfterCompose(comp);
			comp.setAttribute("compositor", this, true);
			inicializarVariaveis();
			this.comp = comp;
			this.binder = new AnnotateDataBinder(comp);
			this.binder.setLoadOnSave(false);
			this.binder.loadAll();
	}
	
	protected void inicializarVariaveis(){
		usuarioSessao = new Usuario();
		usuarioControle = new UsuarioControle();
		txtNivelAcesso = new Textbox();
		menuUsuario = "";
	}
	
	public void redirecionarUsuario(Usuario usuario) {
		if (usuario.getTipo().toString().equals("ADMINISTRADOR")) {
			Executions.sendRedirect("/paginas/usuario/controlarusuarioadm.zul");
		} else {
			Executions.sendRedirect("/paginas/usuario/principalusuario.zul");
		}
		
	
	}


	
	public Usuario getUsuarioSessao() {
		return usuarioSessao;
	}

	public void setUsuarioSessao(Usuario usuarioSessao) {
		this.usuarioSessao = usuarioSessao;
	}

	public String getMenuUsuario() {
		return menuUsuario;
	}

	public void setMenuUsuario(String menuUsuario) {
		this.menuUsuario = menuUsuario;
	}


	
	
}
